/*
 * Copyright 2020 Krzysztof Slusarski
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package pl.ks.profiling.safepoint.analyzer.commons.shared.jit.parser;

import java.math.BigDecimal;
import lombok.Builder;
import lombok.Value;
import lombok.With;

@With
@Value
@Builder
public class CompilationStatus {
    BigDecimal timeStamp;
    long loadedCount;
    long unloadedCount;
    long tier1LoadedCount;
    long tier1UnloadedCount;
    long tier2LoadedCount;
    long tier2UnloadedCount;
    long tier3LoadedCount;
    long tier3UnloadedCount;
    long tier4LoadedCount;
    long tier4UnloadedCount;

    public long getCurrentCount() {
        return loadedCount - unloadedCount;
    }

    public long getTier1CurrentCount() {
        return tier1LoadedCount - tier1UnloadedCount;
    }

    public long getTier2CurrentCount() {
        return tier2LoadedCount - tier2UnloadedCount;
    }

    public long getTier3CurrentCount() {
        return tier3LoadedCount - tier3UnloadedCount;
    }

    public long getTier4CurrentCount() {
        return tier4LoadedCount - tier4UnloadedCount;
    }
}
